package Reporting;

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */




import edu.app.gui.Loading;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.HashMap;
import java.util.Map;
import javax.swing.JDialog;
import javax.swing.JLabel;
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JasperCompileManager;
import net.sf.jasperreports.engine.JasperExportManager;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperReport;
import net.sf.jasperreports.engine.design.JasperDesign;
import net.sf.jasperreports.engine.xml.JRXmlLoader;
import net.sf.jasperreports.view.JasperViewer;


/**
 *
 * @salma
 */


public class GenererPDF {

    public void affich()
    {
         Loading l = new Loading();
       l.setVisible(true);
    }
    public void Generer ()
    {
        
      
       
           Connection connection;
        try {
           /* JDialog dialog = new JDialog();
JLabel label = new JLabel("Please wait...");
dialog.setLocationRelativeTo(null);
dialog.setTitle("Please Wait...");
dialog.add(label);
dialog.pack();
dialog.setVisible(true);*/
            // - Connexion à la base
            connection=MySQLConnexion.getInstance();
            // - Chargement et compilation du rapport
            JasperDesign jasperDesign = JRXmlLoader.load("C:\\Users\\user\\Desktop\\classic.jrxml");
            JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign);
            // - Paramètres à envoyer au rapport
            Map  parameters = new HashMap();
            parameters.put("Titre", "Titre");
            // - Execution du rapport
            JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, parameters, connection);
            // - Création du rapport au format PDF
            JasperExportManager.exportReportToPdfFile(jasperPrint, "C:\\Users\\user\\Desktop\\myreport.pdf");
            System.out.println("success1");
                      JasperViewer.viewReport(jasperPrint);
                      
                 //    dialog.setVisible(false);
        }

        catch (JRException e) {
            System.out.println("erreur de compilation"+ e.getMessage());
         }


        
    }
public static void main(String[] args) {
        // - Paramètres de connexion à la base de données
       
        Connection connection;
        try {
            // - Connexion à la base
            connection=MySQLConnexion.getInstance();
            // - Chargement et compilation du rapport
            JasperDesign jasperDesign = JRXmlLoader.load("C:\\Users\\user\\Desktop\\classic.jrxml");
            JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign);
            // - Paramètres à envoyer au rapport
            Map  parameters = new HashMap();
            parameters.put("Titre", "Titre");
            // - Execution du rapport
            JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, parameters, connection);
            // - Création du rapport au format PDF
            JasperExportManager.exportReportToPdfFile(jasperPrint, "C:\\Users\\user\\Desktop\\myreport.pdf");
            System.out.println("successfin");
          JasperViewer.viewReport(jasperPrint);
        }

        catch (JRException e) {
            System.out.println("erreur de compilation"+ e.getMessage());
         }
         
}

}
